package cnhy.salary.domain;

import cnhy.salary.domain.proxy.LeaveRecordProxy;
import com.easy.query.core.proxy.ProxyEntityAvailable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;

import lombok.AccessLevel;
import lombok.Data;
import com.easy.query.core.annotation.*;
import ling.common.domain.entity.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 请假记录;
 * @author : He-LiangLiang@Outlook.com
 * @date : 2025-5-26
 */
@ApiModel(value = "请假记录",description = "")
@EntityProxy
@Table("pay_leave_record")
@Data
public class LeaveRecord extends CreatedEntity.LongId implements IDeptEntity, ISimpleApproval, Serializable,Cloneable, ProxyEntityAvailable<LeaveRecord , LeaveRecordProxy> {
    /**  */
    /*
    @Column(primaryKey = true)
    @ApiModelProperty(value = "",notes = "")
    private Long id ;
    */
    
    /**  */
    @ApiModelProperty(value = "",notes = "")
    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL)
    private Long userId ;
     
   
    /**  */
    @Excel(name = "员工名称")
    @ApiModelProperty(value = "员工名称",notes = "")
    @EasyWhereCondition
    private String userName ;

     @ApiModelProperty(value = "班组id",notes = "")
     @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL)
     Long deptId;


     @Excel(name = "班组名称")
     @ApiModelProperty(value = "班组名称",notes = "")
     @EasyWhereCondition
     String lv2Name;

     @Excel(name = "电话")
     @ApiModelProperty(value = "电话",notes = "")
     @EasyWhereCondition
     String phone;
    /** 请假类型，0事假，1病假 */
    @Excel(name = "请假类型",readConverterExp="0=事假,1=病假")
    @ApiModelProperty(value = "请假类型，0事假，1病假",notes = "")
    private String type ;
     
   
    /** 请假原因 */
    @Excel(name = "请假原因")
    @ApiModelProperty(value = "请假原因",notes = "")
    private String remark ;
     
   
    /**  */
    @Excel(name = "请假时间",dateFormat ="yyyy-MM-dd")
    @ApiModelProperty(value = "",notes = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime ;
     
   
    /**  */
    @ApiModelProperty(value = "",notes = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime ;
     
   
    /** 请假时长，小时 */
    @Excel(name = "请假时长(分钟)")
    @ApiModelProperty(value = "请假时长，分钟",notes = "")
    private Double duration ;
     
   
    /** 0草稿,1审批中,100通过,101驳回 */
    @Excel(name = "状态",readConverterExp = "0=草稿,1=审批中,100=通过,101=驳回")
    @ApiModelProperty(value = "0草稿,1审批中,100通过,101驳回",notes = "")
    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL)
    private Integer status ;
     
   
    /** 审批记录json[{时间，人员，结果，备注}] */
    @ApiModelProperty(value = "审批记录json[{时间，人员，结果，备注}]",notes = "")
    private String approvalRecord ;


//     @ApiModelProperty(value = "班组id",notes = "")
//     @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL)
//     Long deptId;
 }